package servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.award.jdbc.connection.SendMsgConnection;
import com.award.jdbc.dao.JdbcDao;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;


public class registerCheck extends HttpServlet {

	
	
	
	/**
	 * The doGet method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to get.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		doPost(request, response);
	}

	/**
	 * The doPost method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to post.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
		String username=request.getParameter("username");
		String phone=request.getParameter("phone");
		String code=request.getParameter("code");
		String jbPhone=request.getParameter("jbPhone");
		String SmsCheckCode=request.getParameter("SmsCheckCode");
		
		PrintWriter out = null;
		if (username!=null) {
			out=response.getWriter();
			try {
				if (new JdbcDao().isUsername(username)) {
					out.write("1");
				}else {
					out.write("0");
				}
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
		
		if (phone!=null) {
//			System.out.println(phone);
			out=response.getWriter();
			try {
				if (new JdbcDao().isPhone(phone)) {
					out.write("1");
				}else {
					out.write("0");
				}
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
		HttpSession session=request.getSession();
		
		if (code!=null && jbPhone!=null) {
			System.out.println("验证码是"+code);
			out=response.getWriter();
//			if (true) {				
//				session.setAttribute("code", code);	
//				session.setMaxInactiveInterval(6*60);
//				out.write("1");
//			} else {
//				out.write("0");
//			}
			//启用短信验证码服务
				try {    
			
					if (new SendMsgConnection().sendMsg(code, jbPhone)) {												
						session.setAttribute("code", code);	
						session.setMaxInactiveInterval(6*60);
						out.write("1");
					} else {
						out.write("0");
					}
				} 
				catch (ServerException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				} catch (ClientException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				 }
		
		
		if (SmsCheckCode!=null && !SmsCheckCode.equals("")) {
			out=response.getWriter();
			String codeSession=(String)session.getAttribute("code");
			if (codeSession!=null&&SmsCheckCode.equals(codeSession)) {
				System.out.println("验证码正确");
				out.write("1");
			}else {
				System.out.println("验证码错误");
				out.write("0");
			}
		}
//        out.flush();  
//        out.close();  
//		request.setCharacterEncoding("UTF-8");
//		String username=request.getParameter("username");
//		String name=request.getParameter("name");
//		String phone=request.getParameter("phone");
//		String password=request.getParameter("password");
//		String address=request.getParameter("address");
//		User user=new User();
//		user.setUsername(username);
//		user.setName(name);
//		user.setTelephone(phone);
//		user.setAddress(address);
//		user.setPassword(password);
//		user.setUserImgURL("./images/traveller.jpg");
//		JdbcDao jdbcDao=new JdbcDao();
//		try {
//			if(jdbcDao.insertUser(user)){response.sendRedirect(request.getContextPath()+"/jsp/connectionWechat.jsp");}
//			else {
//				response.sendRedirect(request.getContextPath()+"/jsp/test.jsp");
//			}
//		} catch (SQLException e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		}
//		
	}

}
